#ifndef _BUOLA_SCENE_GEODES_CPOINTGRAPH_H_
#define _BUOLA_SCENE_GEODES_CPOINTGRAPH_H_

#include <buola/scene.h>
#include <buola/scene/cobject.h>
#include <buola/algorithm/container.h>
#include <buola/cv/ccloud.h>
#include <buola/scene/cvertexdata.h>
#include <buola/scene/techniques/clinetechnique.h>
#include <buola/graph/cgraph.h>

namespace buola { namespace scene {

class CPointGraph : public CObject
{
public:
    CPointGraph();
    CPointGraph(graph::CGraph<mat::CVec3d> pGraph);
    ~CPointGraph();

    void SetGraph(graph::CGraph<mat::CVec3d> pGraph);
    
    virtual void Render(CRenderContext &pContext);

private:
    void GenerateData();
    
    graph::CGraph<mat::CVec3d> mGraph;

    CVertexData mVertexData;
    bool mHaveData;
    CLineTechnique *mTechnique;
};

typedef intrusive_ptr<CPointGraph> PPointGraph;

/*namespace scene*/ } /*namespace buola*/ }

#endif
